The present invention generally relates to data processing in the field of management of computer networks, and relates more specifically to linking external program applications to a network management system that is installed and executing in a managed network.
A computer network generally includes a number of network devices, such as switches, routers, and others, as well as end station devices such as desktop machines, servers, hosts, printers, fax machines, and others. In order for the computer network to function properly, network administrators monitor the various devices, deploying new devices or upgrading existing ones in the network. In addition, the network administrator is responsible for configuration management of the network and manages distribution of software on the network. Typically, a network administrator employs a network management system to accomplish such tasks.
The network management system is a software program, or a combination of hardware and software, that can interrogate the network, present management information, and carry out changes in the network. An example of a commercially available network management system is Cisco Resource Manager, commercially available from Cisco Systems, Inc., San Jose, Calif. This type of network management system may be used to manage a network owned or operated by a large business or institution (xe2x80x9centerprisexe2x80x9d).
Many enterprise networks now use and are often an integral part of the global, packet data network known as the Internet, and its hypertext services and facilities that are known as the World Wide Web. Many computer programs for particular tasks (xe2x80x9capplicationsxe2x80x9d) can be made available for use through the World Wide Web if they can be effectively accessed. For example, a Web-based network management system that is installed and executing in a managed network of an enterprise can be enhanced by linking it to other, external Web-based network management applications and tools that complement the principal network management system. An example of an external application is OpenView, commercially available from Hewlett-Packard Company, Palo Alto, Calif.
It is desirable to enable parties other than the manufacturer or vendor of the principal network management system, including the enterprise itself, to develop new applications and tools and connect them to the principal network management system. However, oftentimes, the external applications and tools do not inter-operate properly.
In one approach, to link the external web-based network management applications, engineers associated with the external application developer, the vendor, or the enterprise had to undertake significant, tedious, customized work. For example, the engineers had to build xe2x80x9cinstallxe2x80x9d routines, study and modify complex registry files or configuration files, and provide technical support to the enterprise, third party application developers, or end users. The effort had to be repeated with each change in the enterprise""s network system. Thus, there had to be on-going maintenance and support to integrate or to link to the applications.
Another problem of this approach is that the routines and changes to the files could not be shared. Each time that a third party desired to connect its external application to a copy of the principal network management application of a different enterprise, the routines and changes to the configuration files had to be copied to that enterprise, installed, and tested.
Still another problem is if the underlying registry files and configuration files changed, the install routines and changes would not necessarily work. For example, if the vendor of the principal network management system released a new version of its system with modified registry file formats or contents, the third party application suddenly might not work because it had been connected to the old registry files or configuration files.
Moreover, each integration effort had to be packaged for the enterprise in a form that was comprehensible to its end users so they could carry out the integration.
Based on the foregoing, there is a need for a simple and inexpensive method or mechanism to automatically and correctly link external applications to enterprise network management systems.
There is also a need for a method or mechanism that minimizes the engineering and support effort required on the part of the manufacturer or vendor of the principal network management application to link Web-based external applications to the principal network management application. There is also a need for such a method or mechanism that is simple and inexpensive.
There is also a need for a method or mechanism that enables a third party to create and store a connection between the principal network management application and the Web-based external application, in which the connection continues to be valid even if the underlying registry syntax and structure changes.
There is also a need for a method or mechanism that enables such connections to be imported into or exported from the principal network management system, and generally shared across multiple installations.
The foregoing needs, and other needs and objectives that will become apparent from the description herein, are achieved by the present invention, which comprises, in one aspect, a method for linking an application program to a network management system having a hierarchical list of menu options. The menu options are defined by registry information stored in association with the network management system. The method may involve creating and storing, in association with the network management system, connection information that defines a connection between the application program and the network management system; modifying the registry information to add the connection information such that the application program is identified in a logical location in the list; and executing the application program by selecting it from the list from within the network management system.
One feature of this aspect includes creating and storing a connection file that defines one or more application menu options of the application program and one or more locations within the hierarchical list of the network management system into which the application menu options are to be stored.
According to another feature, the method further involves certifying that the connection information will correctly integrate the application program with the network management system before carrying out the modifying step; and storing and distributing, in association with the connection information, certifying information that identifies the connection as certified.
In another feature, the connection data file comprises data that ensures compatibility between the application program and the network management system and that defines one or more application menu options of the application program and one or more locations within the hierarchical list of the network management system into which the application menu options are to be stored. In another feature, the connection file is installed only when the connection file is certified and only when a Uniform Resource Locator in the data file that specifies a location of the application program is found to exist.
According to still another feature, certifying the connection information involves transmitting the connection information to a site associated with an owner of the network management system; at the site of the network management system, verifying that the connection file is complete; and storing the connection file and information concerning such verification in a database of the owner of the network management system. In another feature, certifying the connection further involves transmitting the connection file to a Certification Tester; and if the connection file is certifiable, then creating and storing, in association with the connection file at the site of the owner of the network management system, information indicating that the connection file has been certified; transmitting the connection file to a customer installation in association with the network management system; and installing the connection file in the network management system at the customer installation.
In another feature, the method involves creating and storing connection information that defines one or more application menu options of the application program and one or more locations within the hierarchical list of the network management system into which the application menu options are to be stored and that defines one or more links into the application program that may be launched from within the network management system.
According to yet another feature, the method involves displaying information generated by the application program within a frame of a graphical user interface that is generated by the network management system; selecting one or more application menu options of the application program from within the hierarchical list of the network management system; and displaying information generated by the application program within a frame of a graphical user interface that is generated by the network management system.
According to another feature, the method further involves creating and storing, in association with the network management system, connection information that defines a connection between the application program and the network management system, herein the connection information may include: an application name; a location identifier of a server that hosts the application program; and a name of a menu option of the network management system through which functions of the application program are to be accessed; names of one or more items within the menu option through which sub-functions of the application program are to be accessed; and, for each of the items, one or more security privilege designations that indicate which users may access the associated item.
Yet another feature involves connecting the application program to the network management system by importing connection information from previously stored connection information, by selecting the connection information to be imported from the certifying information.
According to another aspect, a computer system links an application program to a network management system and has a hierarchical list of menu options, in which the menu options are defined by registry information stored in association with the network management system. The computer system may comprise a company site associated with the network management system that comprises stored information identifying whether the application program is certified for use with the network management system; an application developer site coupled over a network to the company site and which comprises stored connection information that defines a connection between the application program and the network management system; and one or more software elements stored and executing at the company site and the application developer site, wherein the software elements cooperate to carry out the steps of: modifying the registry information to add the connection information such that the application program is identified in a logical location in the list; and executing the application program by selecting it from the list from within the network management system.
In one feature, the computer system mentioned above further comprises a Certification Tester site coupled over the network to the company site and which comprises means for testing and certifying whether the connection information operates correctly with the network management system, and means for communicating, in response thereto, certification information from the Certification Tester site to the company site.
According to another feature, the software elements cooperate to carry out processing steps. The steps may include communicating the stored connection information from the application developer site to the company site; at the company site, verifying that the connection information is complete; updating the information stored at the company site when the Certification Tester site communicates the certification information to the company site. In yet another feature, the computer system stores connection information that comprises one or more application menu options of the application program and one or more locations within the hierarchical list of the network management system into which the application menu options are to be stored.